<template>
	<view class="booking">
		<navBar />
		<!-- 返回 -->
		<Nav title="报告出具" filtertitle="报告出具查询" :inpdata="inputData" @finsh="onFinshData" />
		<!-- <view class="titles">在线预约</view> -->
		<!-- <text>当前滚动高度：{{ scrollTop }}px</text> -->
		<!-- 我的意向单 -->
		<scroll-view class="mybook" scroll-y="true">
			<view class="bkitem" v-for="(item,index) in ReportList" :key="index">
				<view class="bkrol">
					报告编码：<text class="sheetc">{{ item.reportCode }}</text>
				</view>
				<view class="bkrol bkdjs">
					<text class="colors">状态：<text class="status">{{ item.status }}</text></text>
					<text class="colors">是否归档：<text class="colorb">{{ item.archived }}</text></text>
					<text class="colors">版本：<text class="colorb">{{ item.version }}</text></text>
				</view>
				<view class="bkrol bkdj">
					附件：<text>{{ pathSplice(item.filePath) }}</text>
					<view class="controls">
						<text class="rolsl" @click="preview(item.filePath)">预览</text>
						<text @click="download(item.filePath)">下载</text>
					</view>
				</view>
			</view>
			<view class="toolbar-height"></view>
		</scroll-view>
	</view>
</template>

<script>
	// 引入api
	import {
		postProgramReportAttachmentInfo // 报告查询
	} from "@/proxy/program/program.api.js";
	import {
		FileHandler
	} from "@/utils/fileHandler";
	export default {
		data() {
			return {
				ReportList: [
					// {
					// 	archived: "N",
					// 	filePath: "http://report.gzhb.top:8080/Report/202502/1E2CCED4-D38F-432A-B0BA-9215050571F5_ENG_16C039D2-31EA-40DC-8CF1-924514A8500D.pdf",
					// 	reportCode: "20250418003",
					// 	status: "草稿",
					// 	version: "1"
					// },
					// {
					// 	archived: "N",
					// 	filePath: "http://10.10.1.203:8099/Base/202504/5ba552fc-5445-4ca2-b116-adeb2e4ee9d8.png",
					// 	reportCode: "20250418003",
					// 	status: "草稿",
					// 	version: "1"
					// }
				],
				// 输入框数据
				inputData: [{
						title: "报告编码",
						placeholder: "请输入报告编码",
						inpValue: "",
						key: "reportCode", //键名 接收对象名字
					},
					{
						title: "订单编号",
						placeholder: "请输入订单编号",
						inpValue: "",
						key: "folderNo", //键名 接收对象名字
					},
					{
						title: "样品编号",
						placeholder: "请输入样品编号",
						inpValue: "",
						key: "ordNo", //键名 接收对象名字
					},
					{
						title: "版本",
						placeholder: "请输入版本",
						inpValue: "",
						key: "version", //键名 接收对象名字
					},
				],
				// isRoll:false
				//筛选表单数据
				// filterData: [
				// 	{
				// 		children: false, //是否有子项
				// 		title: "意向度",
				// 		key: "intention_type", //键名 接收对象名字
				// 		keyValue: "value", //获取的值是哪个
				// 		isRadio: true, //是否单选 否则多选
				// 		data: [{
				// 				title: "一般意向",
				// 				id: 1,
				// 				value: 1,
				// 			},
				// 			{
				// 				title: "中意向度",
				// 				id: 2,
				// 				value: 2,
				// 			},
				// 			{
				// 				title: "高意向度",
				// 				id: 3,
				// 				value: 3,
				// 			},
				// 		],
				// 	},
				// 	{
				// 		children: false, //是否有子项
				// 		title: "手机号码",
				// 		key: "is_bind_phone", //键名 接收对象名字
				// 		keyValue: "value", //获取的值是哪个
				// 		isRadio: true, //是否单选 否则多选
				// 		data: [{
				// 				title: "未绑定",
				// 				value: 0,
				// 			},
				// 			{
				// 				title: "已绑定",
				// 				value: 1,
				// 			},
				// 		],
				// 	},
				// 	{
				// 		children: false, //是否有子项
				// 		title: "企微好友",
				// 		key: "is_work_customer", //键名 接收对象名字
				// 		keyValue: "value", //获取的值是哪个
				// 		isRadio: true, //是否单选 否则多选
				// 		data: [{
				// 				title: "未添加",
				// 				value: 0,
				// 			},
				// 			{
				// 				title: "已添加",
				// 				value: 1,
				// 			},
				// 		],
				// 	},
				// {
				// 	children: true, //是否有子项
				// 	isRadio: false, //是否单选
				// 	title: "标签内容",
				// 	key: "label", //键名 接收对象名字
				// 	keyValue: "id", //获取的值是哪个
				// 	data: [
				// 		{
				// 			title: "客户重要程度",
				// 			id: 22,
				// 			children: [{
				// 					title: "一般意向2",
				// 					id: 32,
				// 					value: 32,
				// 				},
				// 				{
				// 					title: "一般意向3",
				// 					id: 12,
				// 					value: 12,
				// 				},
				// 			],
				// 		},
				// 		{
				// 			title: "客户重要程度2",
				// 			id: 122,
				// 			children: [{
				// 					title: "一般意向2",
				// 					id: 43,
				// 					value: 43,
				// 				},
				// 				{
				// 					title: "一般意向3",
				// 					id: 23,
				// 					value: 23,
				// 				},
				// 			],
				// 		},
				// 	],
				// },
				// ], //筛选数据
				// filterForm: {}, //选中的表单
			}
		},
		async mounted() {
			await this.postProgramReportAttachmentInfoData(); // 获取报告单
		},
		methods: {
			// 筛选后的值
			async onFinshData(data) {
				// console.log('父组件接收子组件返回的筛选值',data)
				await this.postProgramReportAttachmentInfoData(data.reportCode, data.folderNo, data.ordNo, data
					.version); // 获取报告
			},
			pathSplice(filePath) {
				let startIndex = 5; // 开始位置
				let endIndex = filePath.length - 4; // 结束位置
				// 提取前后部分，拼接替换内容
				let newStr = filePath.slice(0, startIndex) + "************" + filePath.slice(endIndex);
				return newStr;
			},
			// 报告查询
			async postProgramReportAttachmentInfoData(reportCode, folderNo, ordNo, version) {
				const {
					customerCode,
					businessName
				} = uni.getStorageSync("userInfo");
				// console.log("userid",userID)
				if (!customerCode) {
					return this.$toast({
						title: "请前往小程序授权登录",
						// icon: "error",
					});
				}
				// 发送请求
				try {
					const result = await postProgramReportAttachmentInfo([{
						rasclientId: customerCode,
						businessName: businessName,
						reportCode: reportCode,
						folderNo: folderNo,
						ordNo: ordNo,
						version: version,
						// businessMan: userID ? userID : ""
					}]);
					if (result.code == 200) {
						this.ReportList = result.data;
						console.log("报告查询成功！！！",result);
					} else {
						return this.$toast({
							title: result.data.msg,
						});
					}
				} catch (error) {
					console.error("请求失败", error);
					return this.$toast({
						title: "请求失败",
						icon: "error",
					});
				}
			},
			preview(filePath){
				FileHandler.preview(filePath);  // 调用预览方法
			},
			download(filePath){
				FileHandler.download(filePath);  // 调用下载方法
			}
		}
	}
</script>

<style lang="scss">
	// page{
	// background-color: rgb(249,250,251);
	// height: 100vh;
	// }
	/* app端 */
	/* #ifdef APP-PLUS || H5 */
	#app,
	/* #endif */
	page {
		background-color: #F9FAFB;
		height: 100%;
	}

	.booking {
		display: flex;
		flex-direction: column;
		height: 100vh;
		// background-color: rgb(249,250,251);
		.mybook {
			// margin: 20rpx;
			flex: 1;
			width: auto;
			overflow-y: auto;

			.bkitem {
				padding: 0 20rpx;
				font-size: 25rpx;
				margin: 20rpx;
				background-color: #fff;
				// box-shadow: 0 0 15rpx rgba(0, 0, 0, 0.1);
				box-shadow: #bbb 0 0 8rpx;
				border-radius: 15rpx;

				// border-bottom: 1rpx solid #f4f4f4;
				.bkdjs {
					display: flex;
					align-items: center;
					justify-content: space-between;

					.controls {
						color: #0081ff;

						.rolsl {
							margin-right: 10rpx;
						}
					}
				}

				.bkdj {
					display: flex;
				}

				.pd10 {
					padding: 10rpx 0;
				}

				.bkrol {
					height: 60rpx;
					line-height: 60rpx;

					.sheetc {
						font-size: 30rpx;
						font-weight: bold;
					}
				}

				.controls {
					color: #0081ff;
					margin-left: auto;

					.rolsl {
						margin-right: 10rpx;
					}
				}

				// &:last-child{
				// 	margin: 20rpx;
				// }
			}
		}
	}

	.colors {
		color: #6C7381;
	}

	.colorb {
		color: #000;
		font-size: 25rpx;
		font-weight: bold;
	}

	.status {
		color: #FFF;
		background: #FF0000;
		padding: 5rpx 10rpx;
		border-radius: 10rpx;
	}

	.uni-collapse-item__title-wrap>.uni-collapse-item__title-box {
		height: unset !important;
		min-height: 60rpx !important;
		line-height: 60rpx !important;
		padding: 0rpx !important;
	}

	.uni-collapse-item__title-text {
		font-size: 25rpx !important;
	}

	// 底部占位空盒子
	.toolbar-height {
		height: 15rpx;
	}
</style>